<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<img src="/images/code.png" alt="">
<button onclick="downloadAfterGZIP()">gzip压缩后下载</button>
<script>
  async function downloadAfterGZIP () {
    const res = await fetch('/images/code.png')
    const imgBlob = await res.blob()
    const gzipBlob = await new Response(
      imgBlob
        .stream()
        .pipeThrough(
          new CompressionStream('gzip'),
        ),
    ).blob()
    const a = document.createElement('a')
    a.href = URL.createObjectURL(gzipBlob)
    a.download = 'code.gz'
    document.body.appendChild(a)
    a.click()
    document.body.removeChild(a)
  }
</script>
</body>
</html>